ABAP 模板文件上传与模板下载 您所在的位置:网站首页 sap 文件上传到服务器 ABAP 模板文件上传与模板下载

ABAP 模板文件上传与模板下载

2024-02-23 06:32| 来源: 网络整理| 查看: 265

1.Tcode: SMW0 ,上传模板 ,创建的模板存储类型

2. 选择新建,输入对象名称和描述,导入自己的模板

3.  保存到对应的传入依赖就可以了

 4.程序中下载模板,调用函数 (ZJH_DOWNLOAD_FILE_SMW0)

DATA LD_STR TYPE STRING. CALL FUNCTION 'ZJH_DOWNLOAD_FILE_SMW0' "模板输出 EXPORTING IM_OBJNAME = 'ZSTUDENT' " 传输模板的名字 IM_FILENAME_DEF = '学生信息导入模板.xlsx' " 下载好的名字 * IM_FILTER_STR = IMPORTING EX_FULLNAME = LD_STR.

  这是另一种写法

DATA: LS_WWWDATATAB LIKE WWWDATATAB, LT_MIME LIKE W3MIME OCCURS 10, LV_FILENAME TYPE STRING, LV_PATH TYPE STRING, LV_FULLPATH TYPE STRING, WINDOW_TITLE TYPE STRING, DEFAULT_FILE_NAME TYPE STRING. DATA: LV_DESTINATION TYPE RLGRAP-FILENAME, LV_SUBRC TYPE SY-SUBRC. CLEAR: LS_WWWDATATAB,LT_MIME[],LV_FILENAME,LV_PATH,LV_FULLPATH, WINDOW_TITLE,DEFAULT_FILE_NAME. LS_WWWDATATAB-RELID = 'MI'. "IMPORT/EXPORT 数据表中的区域 LS_WWWDATATAB-OBJID = 'object name'. "SMW0 WEB RFC的二进数据 对像名称 LS_WWWDATATAB-TEXT = '***导入模板'. "WWWDATA 对象的短文本 WINDOW_TITLE = '下载导入模板'. DEFAULT_FILE_NAME = '***导入模板'. CALL FUNCTION 'WWWDATA_IMPORT' "#EC * EXPORTING KEY = LS_WWWDATATAB TABLES MIME = LT_MIME EXCEPTIONS WRONG_OBJECT_TYPE = 1 IMPORT_ERROR = 2 OTHERS = 3. CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG EXPORTING WINDOW_TITLE = WINDOW_TITLE DEFAULT_EXTENSION = 'xlsx' DEFAULT_FILE_NAME = DEFAULT_FILE_NAME * file_filter = 'EXCEL' CHANGING FILENAME = LV_FILENAME PATH = LV_PATH FULLPATH = LV_FULLPATH EXCEPTIONS CNTL_ERROR = 1 ERROR_NO_GUI = 2 NOT_SUPPORTED_BY_GUI = 3 OTHERS = 4. IF SY-SUBRC 0. STOP. ENDIF. IF LV_FULLPATH IS NOT INITIAL. LV_DESTINATION = LV_FULLPATH. CALL FUNCTION 'DOWNLOAD_WEB_OBJECT' EXPORTING KEY = LS_WWWDATATAB DESTINATION = LV_DESTINATION IMPORTING RC = LV_SUBRC. IF LV_SUBRC 0. MESSAGE '下载失败' TYPE 'S' DISPLAY LIKE 'E'. ENDIF. ENDIF.

下载模板还有一种写法,这是直接下载的,提前选一个下载路径

DATA: ls_objdata LIKE wwwdatatab. DATA: lv_file TYPE rlgrap-filename. DATA: lv_rc TYPE sy-subrc. DATA: lv_copy_rows TYPE i. SELECT SINGLE relid objid INTO CORRESPONDING FIELDS OF ls_objdata FROM wwwdata WHERE srtf2 EQ 0 AND relid = 'MI' AND objid = p_objid. IF sy-subrc NE 0 OR ls_objdata-objid EQ space. MESSAGE e042 WITH p_objid INTO p_message. RETURN. ENDIF. CONCATENATE p_file '\' 'excel1' '.xlsx' INTO lv_file. CALL FUNCTION 'DOWNLOAD_WEB_OBJECT' EXPORTING key = ls_objdata destination = lv_file IMPORTING rc = lv_rc. IF lv_rc NE 0. MESSAGE e043 WITH p_objid INTO p_message. RETURN. ENDIF.

5. 上传本地模板内容(函数1:'WS_FILENAME_GET',函数2: 'ALSM_EXCEL_TO_INTERNAL_TABLE' )

函数1:'WS_FILENAME_GET',

函数2: 'ALSM_EXCEL_TO_INTERNAL_TABLE' 

DATA: ZXUANZE TYPE CHAR50. DATA: P_FIELD TYPE RLGRAP-FILENAME. DATA WX_01 LIKE TABLE OF ZSTU. DATA WS_01 LIKE ZSTU. DATA:I_TAB TYPE TABLE OF ALSMEX_TABLINE, WA_TAB TYPE ALSMEX_TABLINE. CALL FUNCTION 'WS_FILENAME_GET' EXPORTING DEF_FILENAME = ' ' DEF_PATH = ' ' MASK = '.*.*.*.*' MODE = 'S' TITLE = 'O' IMPORTING FILENAME = ZXUANZE * RC = EXCEPTIONS INV_WINSYS = 1 NO_BATCH = 2 SELECTION_CANCEL = 3 SELECTION_ERROR = 4 OTHERS = 5. P_FIELD = ZXUANZE. CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE' EXPORTING FILENAME = P_FIELD I_BEGIN_COL = 1 I_BEGIN_ROW = 2 I_END_COL = 4 I_END_ROW = 20 TABLES INTERN = I_TAB[] EXCEPTIONS INCONSISTENT_PARAMETERS = 1 UPLOAD_OLE = 2 OTHERS = 3. IF SY-SUBRC 0. * Implement suitable error handling here ENDIF. LOOP AT I_TAB INTO WA_TAB. CASE WA_TAB-COL. WHEN '0001'. WS_01-ZXUEHAO = WA_TAB-VALUE. WHEN '0002'. WS_01-ZNAME = WA_TAB-VALUE. WHEN '0003'. WS_01-ZBANJI = WA_TAB-VALUE. WHEN '0004'. WS_01-ZMIAOSU = WA_TAB-VALUE. ENDCASE. AT END OF ROW. APPEND WS_01 TO WX_01. CLEAR WS_01. ENDAT. ENDLOOP.



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有